package br.com.sgpv2.hibernate.faixacomparativo;

import java.util.List;

import br.com.sgpv2.controler.NegocioExeception;
import br.com.sgpv2.entity.faixacomparativo.FaixaComparativo;

/**
 * Interface do reposit�rio de Faixa de comparativo.
 */
public interface FaixaComparativoRepository {

	/** Método que salva uma entidade faixa de comparativo no banco de dados. */
	void salvar(FaixaComparativo faixaComparativo);

	/** Método que busca uma entidade faixa de comparativo no banco de dados. */
	FaixaComparativo buscar(Integer pk) throws NegocioExeception;

	/** Método que altera uma entidade faixa de comparativo no banco de dados. */
	void alterar(FaixaComparativo faixaComparativo);

	/** Método que altera uma entidade faixa de comparativo no banco de dados. */
	void saveOrUpdate(FaixaComparativo faixaComparativo);

	/**
	 * Método que lista todas as entidades faixa de comparativo no banco de
	 * dados.
	 */
	List<FaixaComparativo> listar();

	/** Método que exclui uma entidade faixa de comparativo no banco de dados. */
	void excluir(FaixaComparativo faixaComparativo);

	/** Método que consulta todas as faixas de comparativo pela descrição. */
	List<FaixaComparativo> consultarPorDescricao(String descricao);

	/**
	 * Método que exclui todos os itens de uma faixa de comparativo.
	 */
	void exluirItensFaixaComparativo(FaixaComparativo faixaComparativo);

	/** Método que consulta todas as faixas de comparativo mediante a descrição. */
	List<FaixaComparativo> consultarFaixasComparativoPorFiltro(String descricao);
}
